﻿
using InventoryIssue.DTOs;
using InventoryIssue.ErrorCode;
using MediatR;
using System.ComponentModel.DataAnnotations;

namespace InventoryIssue.API.Write.Application.Command.Allocate
{
    public class CreateAllocateCommand : IRequest<APIResult<int>>
    {
        /// <summary>
        /// 调拨单号
        /// </summary>
        public string AllocateId { get; set; }
        /// <summary>
        /// 关联订单号
        /// </summary>
        public string OrderNumber { get; set; }
        /// <summary>
        /// 调拨仓库(入)
        /// </summary>
        public string? AllocateWarehouseIn { get; set; }
        /// <summary>
        /// 调拨仓库(出)
        /// </summary>
        public string AllocateWarehouseOut { get; set; }
        /// <summary>
        /// 产品编码
        /// </summary>
        public List<ProductItem> Products { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        public string Note { get; set; }
        /// <summary>
        /// 制单人
        /// </summary>
        public string OrderCreator { get; set; }
        /// <summary>
        /// 制单时间
        /// </summary>
        public DateTime OrderCreatorTime { get; set; }
        /// <summary>
        /// 经办人
        /// </summary>
        public string? Manager { get; set; }
        /// <summary>
        /// 经办时间
        /// </summary>
        public DateTime? ManagerTime { get; set; }
        /// <summary>
        /// 状态
        /// </summary>
        public int State { get; set; } = 0;
    }
}
